Pular para o conteúdo principal

Criar um Documento para Assinatura Eletrônica

Quando um documento é criado com sucesso, a API retorna o código de status HTTP 201 Created, com os dados do documento criado no corpo da resposta. Em seguida, cada signatário receberá um email com um link para assinar o documento.

Assim que todos os signatários assinarem o documento, um evento "document.status.signed" é emitido para a URL configurada, contendo os dados da assinatura e um link para download do documento assinado em formato de PDF.

Para realizar a asssinatura de um documento, é necessário enviar o arquivo PDF a ser assinado para a API de armazenamento de arquivos. Existem duas formas: enviar a URL publicamente acessível do arquivo PDF ou enviar o arquivo PDF em base64.

Segurança

Para acessar a API, é necessário obter um token de acesso através do fluxo de autenticação OAuth2. Veja mais detalhes em Como obter acesso?

info

Ao gerar o token JWT, não esqueça de utilizar o escopo correto. Caso contrário, a requisição será rejeitada com o código de erro 401 Unauthorized.

Descrição dos campos

CampoTipoDescrição
namestringNome do documento. Utilizado para identificar o documento a ser assinado
businessIdstringIdentificador do documento no sistema do parceiro. Pode ser utilizado para identificar o documento no sistema do parceiro.
signersarrayLista de signatários do documento
    businessIdstringIdentificador do signatário no sistema do parceiro. Pode ser utilizado para identificar o signatário no sistema do parceiro
    namestringNome do signatário
    emailstringEmail do signatário
fileUrlstringOpcional. URL publicamente acessível do arquivo PDF a ser assinado. Se informado, o campo file fileBase64 é ignorado
fileBase64stringOpcional. Arquivo PDF em base64. Se informado, o campo fileUrl é ignorado.
info

Um dos campos fileUrl ou fileBase64 deve ser informado.

Requisição

POST https://api-sandbox.catalisa.com.br/doc-signature/api/v1/documents JWT scope: doc-signature/create:documents

Parâmetros

Sem parâmetros

Cabeçalhos

NomeValor
AuthorizationBearer <token>
Content-Typeapplication/json

Exemplo de Requisição informando a URL do arquivo PDF

Corpo da Requisição

{
"name": "Contrato nº 12345",
"businessId": "XPTO-PEDIDO-12345-001",
"signers": [
{
"businessId": "XPTO-CLIENTE-12345-001",
"name": "Fulano de Tal",
"email": "fulano@example.com"
}
],
"fileUrl": "https://example.com/document.pdf"
}

Respostas

CódigoDescrição
201Documento criado com sucesso. Retorna os dados do documento criado
401Não autorizado

Exemplo de uso

const headers = new Headers();
headers.append("Authorization", "Bearer <token>");
headers.append("Content-Type", "application/json");

const body = JSON.stringify({
name: "Contrato nº 12345",
businessId: "XPTO-PEDIDO-12345-001",
signers: [
{
businessId: "XPTO-CLIENTE-12345-001",
name: "Fulano de Tal",
email: "fulano@example.com",
},
],
fileUrl: "https://example.com/document.pdf",
});

const requestOptions = {
method: "POST",
headers: headers,
body: body,
};

const response = await fetch(
"https://api-sandbox.catalisa.com.br/doc-signature/api/v1/documents",
requestOptions
);
const data = await response.json();
console.log(data);

Exemplo de Sucesso

{
"data": {
"type": "documents",
"id": "c58a0dc6-f862-40eb-92cd-20922d1d618a",
"attributes": {
"status": "pending",
"businessId": "dca749e9-e60e-490e-936a-64fbc6eb67f9",
"signers": [
{
"businessId": "XPTO-CLIENTE-12345-001",
"name": "Fulano de Tal",
"email": "fulano@example.com"
}
],
"originalFile": "https://api-sandbox.catalisa.com.br/file-storage/api/v1/files/a59ebf3c-c88a-416c-b735-8b51df1dcb3c",
"signedFile": "https://api-sandbox.catalisa.com.br/file-storage/api/v1/files/a59ebf3c-c88a-416c-b735-8b51df1dcb3c"
}
},
"links": {
"self": "https://api-sandbox.catalisa.com.br/doc-signature/api/v1/documents/c58a0dc6-f862-40eb-92cd-20922d1d618a"
}
}